package com.ocom.webapi.feign;


import com.ocom.common.constant.MqSimpleApiUrl;
import com.ocom.common.request.payconfig.UpdateOrderForecastDetailRequest;
import com.ocom.common.request.payconfig.mealorder.GetOrderDishesRequest;
import com.ocom.common.request.simple.*;
import com.ocom.common.request.web.ConsumeDetailRequest;
import com.ocom.common.request.wx.UserAccessPageSetAccessRequest;
import com.ocom.common.request.xfrecde.NotMealRecodeRequest;
import com.ocom.common.resp.Result;
import com.ocom.common.response.web.ExcelApplyRequest;
import com.ocom.common.vo.webapi.ExcelAddPersonVo;
import com.ocom.common.vo.webapi.ImportCardVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


@FeignClient(value = "mq-simple")
public interface MqSimpleService {

    @PostMapping(MqSimpleApiUrl.URL_sendExcelApply)
    public Result ExcelApply(@RequestBody ExcelApplyRequest excelApplyRequest);

    @PostMapping(MqSimpleApiUrl.URL_ChangeAccess)
    public Result ChangeAccess(@RequestBody UserAccessPageSetAccessRequest request);


    @PostMapping(MqSimpleApiUrl.URL_BigFileHandle)
    public Result BigFileHandle(@RequestBody BigFileRequest request);

    @PostMapping(MqSimpleApiUrl.URL_StudentExcelHandle)
    public Result StudentExcel(@RequestBody StudentExcelRequest request);

    @PostMapping(MqSimpleApiUrl.URL_importCard)
    public Result importCard(@RequestBody ImportCardVo importCardVo);

    @PostMapping(MqSimpleApiUrl.URL_recharge)
    public Result recharge(@RequestBody RechargeRequest rechargeRequest);

    @PostMapping(MqSimpleApiUrl.URL_consumeDeatilExport)
    public Result consumeDeatilExport(@RequestBody ConsumeDetailRequest request);

    @PostMapping(MqSimpleApiUrl.URL_importPerson)
    public Result ImportPerson(@RequestBody ExcelAddPersonVo request);


    @PostMapping(MqSimpleApiUrl.URL_allPerson)
    public Result allPerson(@RequestBody AllPersonRequest request);

    @PostMapping(MqSimpleApiUrl.URL_FySms)
    public Result FySms(@RequestBody SmsRequest request);


    @PostMapping(MqSimpleApiUrl.URL_orderMeal)
    public Result orderMeal(@RequestBody GetOrderDishesRequest request) ;

    @PostMapping(MqSimpleApiUrl.URL_notMeal)
    public Result notMealExport(@RequestBody NotMealRecodeRequest request);

    @PostMapping(MqSimpleApiUrl.URL_FORECAST_DATA_HANDLE)
    public Result forecastData(@RequestBody UpdateOrderForecastDetailRequest request);

}

